package cn.com.bod.fas.cim.dao.mapper;

import cn.com.bod.fas.cim.model.po.DmBaseInfoPo;
import cn.com.bod.fas.cim.model.vo.DmBaseInfoVo;
import cn.com.bod.fas.cim.model.vo.response.DmBaseCorporationRespVo;
import cn.com.bod.fas.cim.model.vo.response.DmBaseIndvRespVo;
import cn.com.yusys.yusp.commons.mapper.QueryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description 经销商基本信息mapper类
 * @author zbb
 * @date 2019年9月16日 14:29:07
 * @version 1.0.0
 * @Copyright (c) scfhdt
 */
public interface DmBaseInfoMapper {

    /**
     * @description 查询经销商基本信息
     * @author zbb
     * @date 2019年9月26日 23:59
     * @param dealerNo
     * @return cn.com.scfhdt.dealer.model.vo.DmBaseInfoVo
     */
    DmBaseInfoVo selectByPrimaryKey(@Param("dealerNo") String dealerNo);

    /**
     * @description 查询经销商基本信息列表
     * @author zbb
     * @date 2019年9月26日 23:59
     * @param model
     * @return java.util.List
     */
    List<DmBaseInfoVo> selectByModel(QueryModel model);

    /**
     * @description 新增经销商基本信息非空
     * @author zbb
     * @date 2019年9月26日 23:59
     * @param record
     * @return void
     */
    void insertSelective(DmBaseInfoPo record);

    /**
     * @description 修改经销商基本信息非空
     * @author zbb
     * @date 2019年9月26日 23:59
     * @param record
     * @return void
     */
    void updateByPrimaryKeySelective(DmBaseInfoPo record);

    /**
     * @description 删除经销商基本信息
     * @author zbb
     * @date 2019年9月26日 23:59
     * @param dealerNo
     * @return void
     */
    void deleteByPrimaryKey(@Param("dealerNo") String dealerNo);

    /**
     * @description 查询经销商个体工商户信息详情
     * @author zbb
     * @date 2019年9月25日 9:38
     * @param dealerNo
     * @return  cn.com.scfhdt.dealer.model.vo.response.DmBaseIndvRespVo
     */
    DmBaseIndvRespVo selectDealerIndvInfo(String dealerNo);

    /**
     * @description 查询经销商企业用户信息详情
     * @author zbb
     * @date 2019年9月25日 9:38
     * @param dealerNo
     * @return  cn.com.scfhdt.dealer.model.vo.response.DmBaseCorporationRespVo
     */
    DmBaseCorporationRespVo selectDealerCorporationInfo(String dealerNo);
}